// 节流
export function throttle(fn, delay = 200) {
  //首先定义个定时器的变量
  let timer = null;
  //返回一个函数
  return function () {
    //如果没有定时器  定义一个定时器 延迟函数的调用
    if (!timer) {
      timer = setTimeout(() => {
        //调用传入的函数
        fn.apply(this, arguments);
        timer = null;
      }, delay);
    }
  };
}

// 数据懒加载
// obj就是监听的refs属性  fun就是要调用的方法
export function lazyData(obj, fun) {
  let observer = new IntersectionObserver(([{ isIntersecting }]) => {
    // 判断是否到达视口高度
    if (isIntersecting) {
      // 到达可视区域停止观察
      observer.unobserve(obj);
      // 函数自调用
      fun.call();
    }
  }, [1]);
  // 监听相交状态变化情况
  observer.observe(obj);
}
